home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1987-05-08 | 7.3 KB | 227 lines |
- 10 CLS
- 20 CLEAR
- 30 KEY OFF
- 40 COLOR 7,0
- 50 SCREEN 0,0,0
- 60 WIDTH 80
- 70 LOCATE 1,1,0
- 80 LOCATE 2,10:PRINT "This section of MATH PAK, will provide you"
- 90 LOCATE 3,10:PRINT "with a challenging math based game of finding"
- 100 LOCATE 4,10:PRINT "the correct answers. You will have three chances"
- 110 LOCATE 5,10:PRINT "to answer each problem, or else the computer will"
- 120 LOCATE 6,10:PRINT "print out the answer,for a short time."
- 130 LOCATE 8,10:PRINT "There are three different types of problems, and "
- 140 LOCATE 9,10:PRINT "each type has up to 5 levels,level(1) being the "
- 150 LOCATE 10,10:PRINT "simplest, level(5) the hardest to answer."
- 160 LOCATE 12,10:PRINT "Here are your topics:"
- 170 COLOR 15
- 180 LOCATE 13,15:PRINT "A-ADDITION"
- 190 LOCATE 14,15:PRINT "B-SUBTRACTION"
- 200 LOCATE 15,15:PRINT "C-MULTIPLICATION"
- 210 LOCATE 16,15:PRINT "X-EXIT TO FLOW"
- 220 COLOR 7,0
- 230 LOCATE 19,25:PRINT "ENTER A LETTER":LOCATE 19,41:A$ = INKEY$
- 240 LOCATE 19,41:COLOR 31:PRINT CHR$(219):COLOR 7,0
- 250 LOCATE 19,41:PRINT A$
- 260 FOR T = 0 TO 250:NEXT T
- 270 IF A$ = "A" OR A$ = "a" THEN GOTO 430
- 280 IF A$ = "B" OR A$ = "b" THEN GOTO 1030
- 290 IF A$ = "C" OR A$ = "c" THEN GOTO 1660
- 300 IF A$ ="X" OR A$ = "x" THEN CLS:CHAIN"FLOW"
- 310 GOTO 230
- 320 REM
- 330 IF A = 1 THEN L = INT(RND*(5+1)):M = INT(RND*(5 +1))
- 340 IF A = 2 THEN L = INT(RND*(10+1)):M = INT(RND*(10+1))
- 350 IF A = 3 THEN L = INT(RND*(50+1)):M = INT(RND*(50+1))
- 360 IF A = 4 THEN L = INT(RND*(100+1)):M = INT(RND*(100+1))
- 370 IF A = 5 THEN L = INT(RND*(1000+1)):M = INT(RND*(1000+1))
- 380 RETURN
- 390 ' ATT$ = STRING$(20,32):LOCATE 15,29:PRINT ATT$:LOCATE 16,29:PRINT ATT$:LOCATE 18,29:PRINT ATT$
- 400 CLS
- 410 ' FL$ = STRING$(60,32):LOCATE 20,15:PRINT FL$
- 420 RETURN
- 430 CLS
- 440 LOCATE 2,10:PRINT "Addition game."
- 450 LOCATE 3,10:PRINT "You are to add two whole(integer) numbers."
- 460 LOCATE 4,10:PRINT "There are five(5) skill levels, and each level can"
- 470 LOCATE 5,10:PRINT "be reached by answering all ten(10) problems in that"
- 480 LOCATE 6,10:PRINT "level first, then automatically moving into a higher "
- 490 LOCATE 7,10:PRINT "skill level."
- 500 LOCATE 9,10:PRINT "You have three chances at each problem, and if your"
- 510 LOCATE 10,10:PRINT "answer is still not correct, then the computer will"
- 520 LOCATE 11,10:PRINT "print the correct answer. GOOD LUCK!"
- 530 BEEP:LOCATE 15,15:PRINT "Enter level(1,2,3,4,5,or 0 to exit)":LOCATE 15,50:INPUT A
- 540 A = INT(A)
- 550 IF (A < 0) OR ( A > 5) THEN 530
- 560 IF A = 0 THEN GOTO 10
- 570 GOSUB 330
- 580 CLS
- 590 LOCATE 2,10:PRINT "Addition"
- 600 CNT = 1
- 610 CT = 1
- 620 LOCATE 15,30:PRINT USING "####";L:LOCATE 16,28:PRINT CHR$(43)
- 630 LOCATE 2,10:PRINT "Addition"
- 640 LOCATE 23,5:PRINT "PROBLEM #":LOCATE 23,15:PRINT USING "##";CNT:LOCATE 23,60:PRINT "LEVEL #":LOCATE 23,66:PRINT USING "#";A
- 650 LOCATE 16,30:PRINT USING "####";M:LI$= STRING$(8,196):LOCATE 17,28:PRINT LI$
- 660 LOCATE 18,30:PRINT " ":LOCATE 18,30:INPUT ANS
- 670 ANS = INT(ANS)
- 680 IF ANS = 0 THEN 430
- 690 IF ANS =(L + M) THEN 700 ELSE GOTO 860
- 700 LOCATE 20,25:PRINT "YOUR RIGHT, VERY GOOD!"
- 710 FOR T = 0 TO 750:NEXT T
- 720 GOSUB 390
- 730 CNT = CNT +1
- 740 IF CNT > 10 THEN 790 ELSE GOTO 750
- 750 GOSUB 330
- 760 GOTO 610
- 770 REM
- 780 REM
- 790 A = A + 1
- 800 LOCATE 23,30:PRINT "NEW SKILL LEVEL":FOR T = 0 TO 350:NEXT T
- 810 IF A > 5 THEN GOTO 830 ELSE GOTO 820
- 820 GOTO 570
- 830 LOCATE 20,25:PRINT "YOU HAVE COMPLETED THE HIGHEST LEVEL...VERY GOOD!"
- 840 FOR T = 0 TO 1000:NEXT T
- 850 GOTO 10
- 860 CT = CT + 1
- 870 IF CT > 3 THEN 920 ELSE GOTO 880
- 880 BEEP:LOCATE 20,25:PRINT "SORRY, YOUR INCORRECT":FOR T= 0 TO 750:NEXT T
- 890 LOCATE 18,31:PRINT ATT$
- 900 LOCATE 20,25:PRINT " "
- 910 GOTO 620
- 920 CNT = CNT + 1
- 930 IF CNT > 10 THEN 980
- 940 LOCATE 20,20:PRINT "DO YOU NOW NOW HOW TO SOLVE IT?"
- 950 LOCATE 18,30:AT$ = STRING$(20,32):PRINT AT$:LOCATE 18,31:PRINT USING "####";(L + M)
- 960 FOR T = 0 TO 750:NEXT T
- 970 GOSUB 390:GOSUB 330: IF (L + M ) = 0 THEN GOSUB 330 ELSE GOTO 610
- 980 LOCATE 20,25:PRINT "YOU MISSED THIS LAST ONE, DO YOU THINK YOU'RE READY"
- 990 LOCATE 21,25:PRINT "FOR LEVEL";(A+1);" AS YET?"
- 1000 FOR T = 0 TO 750:NEXT T
- 1010 CLS
- 1020 GOTO 530
- 1030 CLS
- 1040 LOCATE 2,10:PRINT "Subtraction game."
- 1050 LOCATE 3,10:PRINT "You are to subtract two whole(integer) numbers."
- 1060 LOCATE 4,10:PRINT "There are five(5) skill levels, and each level can"
- 1070 LOCATE 5,10:PRINT "be reached by answering all ten(10) problems in that"
- 1080 LOCATE 6,10:PRINT "level first, then automatically moving into a higher "
- 1090 LOCATE 7,10:PRINT "skill level."
- 1100 LOCATE 9,10:PRINT "You have three chances at each problem, and if your"
- 1110 LOCATE 10,10:PRINT "answer is still not correct, then the computer will"
- 1120 LOCATE 11,10:PRINT "print the correct answer. GOOD LUCK!"
- 1130 BEEP: LOCATE 15,15:PRINT "Enter level(1,2,3,4,5,or 0 to exit)":LOCATE 15,50:INPUT A
- 1140 A = INT(A)
- 1150 IF (A < 0) OR ( A > 5) THEN 1130
- 1160 IF A = 0 THEN GOTO 10
- 1170 GOSUB 330
- 1180 IF INT((L - M)) < 1 THEN GOTO 1170
- 1190 IF (M > L) OR (M = L) THEN GOTO 1170
- 1200 CLS
- 1210 LOCATE 2,10:PRINT "Subtraction"
- 1220 CNT = 1
- 1230 CT = 1
- 1240 LOCATE 15,30:PRINT USING "####";L:LOCATE 16,28:PRINT CHR$(196)
- 1250 LOCATE 2,10:PRINT "Subtraction"
- 1260 LOCATE 23,5:PRINT "PROBLEM #":LOCATE 23,15:PRINT USING "##";CNT:LOCATE 23,60:PRINT "LEVEL #":LOCATE 23,66:PRINT USING "#";A
- 1270 LOCATE 16,30:PRINT USING "####";M:LI$= STRING$(8,196):LOCATE 17,28:PRINT LI$
- 1280 LOCATE 18,30:PRINT " ":LOCATE 18,30:INPUT ANS
- 1290 ANS = INT(ANS)
- 1300 IF ANS = 0 THEN 1030
- 1310 IF ANS =(L - M) THEN 1320 ELSE GOTO 1490
- 1320 LOCATE 20,25:PRINT "YOUR RIGHT, VERY GOOD!"
- 1330 FOR T = 0 TO 750:NEXT T
- 1340 GOSUB 390
- 1350 CNT = CNT +1
- 1360 IF CNT > 10 THEN 1420 ELSE GOTO 1370
- 1370 GOSUB 330
- 1380 IF (M > L) OR ( M = L) THEN 1370
- 1390 GOTO 1230
- 1400 REM
- 1410 REM
- 1420 A = A + 1
- 1430 LOCATE 23,30:PRINT "NEW SKILL LEVEL":FOR T = 0 TO 350:NEXT T
- 1440 IF A > 5 THEN GOTO 1460 ELSE GOTO 1450
- 1450 GOTO 1170
- 1460 LOCATE 20,25:PRINT "YOU HAVE COMPLETED THE HIGHEST LEVEL...VERY GOOD!"
- 1470 FOR T = 0 TO 1000:NEXT T
- 1480 GOTO 10
- 1490 CT = CT + 1
- 1500 IF CT > 3 THEN 1550 ELSE GOTO 1510
- 1510 BEEP:LOCATE 20,25:PRINT "SORRY, YOUR INCORRECT":FOR T= 0 TO 750:NEXT T
- 1520 LOCATE 18,31:PRINT ATT$
- 1530 LOCATE 20,25:PRINT " "
- 1540 GOTO 1240
- 1550 CNT = CNT + 1
- 1560 IF CNT > 10 THEN 1610
- 1570 LOCATE 18,30:AT$ =STRING$(20,32):PRINT AT$:LOCATE 18,31:PRINT USING "####";(L - M)
- 1580 LOCATE 20,20:PRINT "DO YOU NOW NOW HOW TO SOLVE IT?"
- 1590 FOR T = 0 TO 750:NEXT T
- 1600 GOSUB 390:GOSUB 330: IF (M > L) OR (M = L) THEN GOUSB 320 ELSE GOTO 1230
- 1610 LOCATE 20,25:PRINT "YOU MISSED THIS LAST ONE, DO YOU THINK YOU'RE READY"
- 1620 LOCATE 21,25:PRINT "FOR LEVEL";(A+1);" AS YET?"
- 1630 FOR T = 0 TO 750:NEXT T
- 1640 CLS
- 1650 GOTO 1130
- 1660 CLS
- 1670 LOCATE 2,10:PRINT "Multiplication game."
- 1680 LOCATE 3,10:PRINT "You are to multiply two whole(integer) numbers."
- 1690 LOCATE 4,10:PRINT "There are five(5) skill levels, and each level can"
- 1700 LOCATE 5,10:PRINT "be reached by answering all ten(10) problems in that"
- 1710 LOCATE 6,10:PRINT "level first, then automatically moving into a higher "
- 1720 LOCATE 7,10:PRINT "skill level."
- 1730 LOCATE 9,10:PRINT "You have three chances at each problem, and if your"
- 1740 LOCATE 10,10:PRINT "answer is still not correct, then the computer will"
- 1750 LOCATE 11,10:PRINT "print the correct answer. GOOD LUCK!"
- 1760 BEEP:LOCATE 15,15:PRINT "Enter level(1,2,3,4,5,or 0 to exit)":LOCATE 15,50:INPUT A
- 1770 A = INT(A)
- 1780 IF (A < 0) OR ( A > 5) THEN 1760
- 1790 IF A = 0 THEN GOTO 10
- 1800 GOSUB 330
- 1810 IF(M > 100) AND (L > 100) THEN 1800
- 1820 IF (M = 0) OR (L = 0) THEN 1800
- 1830 IF (L * M ) > 9999 THEN 1800
- 1840 CLS
- 1850 LOCATE 2,10:PRINT "Multiplication"
- 1860 CNT = 1
- 1870 CT = 1
- 1880 LOCATE 15,30:PRINT USING "####";L:LOCATE 16,28:PRINT CHR$(42)
- 1890 LOCATE 2,10:PRINT "Multiplication"
- 1900 LOCATE 23,5:PRINT "PROBLEM #":LOCATE 23,15:PRINT USING "##";CNT:LOCATE 23,60:PRINT "LEVEL #":LOCATE 23,66:PRINT USING "#";A
- 1910 LOCATE 16,30:PRINT USING "####";M:LI$= STRING$(8,196):LOCATE 17,28:PRINT LI$
- 1920 LOCATE 18,30: PRINT " ":LOCATE 18,30:INPUT ANS
- 1930 ANS = INT(ANS)
- 1940 IF ANS = 0 THEN 1660
- 1950 IF ANS =(L * M) THEN 1960 ELSE GOTO 2120
- 1960 LOCATE 20,25:PRINT "YOUR RIGHT, VERY GOOD!"
- 1970 FOR T = 0 TO 750:NEXT T
- 1980 GOSUB 390
- 1990 CNT = CNT +1
- 2000 IF CNT > 10 THEN 2050 ELSE GOTO 2010
- 2010 GOSUB 330
- 2020 IF (M * L) > 9999 THEN 2010
- 2030 IF (M = 0) OR (L = 0) THEN 2010
- 2040 GOTO 1870
- 2050 A = A + 1
- 2060 LOCATE 23,30:PRINT "NEW SKILL LEVEL":FOR T = 0 TO 350:NEXT T
- 2070 IF A > 5 THEN GOTO 2090 ELSE GOTO 2080
- 2080 GOTO 1800
- 2090 LOCATE 20,25:PRINT "YOU HAVE COMPLETED THE HIGHEST LEVEL...VERY GOOD!"
- 2100 FOR T = 0 TO 1000:NEXT T
- 2110 GOTO 10
- 2120 CT = CT + 1
- 2130 IF CT > 3 THEN 2180 ELSE GOTO 2140
- 2140 BEEP:LOCATE 20,25:PRINT "SORRY, YOUR INCORRECT":FOR T= 0 TO 750:NEXT T
- 2150 LOCATE 18,31:PRINT ATT$
- 2160 LOCATE 20,24:PRINT " "
- 2170 GOTO 1880
- 2180 CNT = CNT + 1
- 2190 IF CNT > 10 THEN 2240
- 2200 LOCATE 18,30:PRINT AT$:LOCATE 18,31:PRINT USING "####";(L * M)
- 2210 LOCATE 20,20:PRINT "DO YOU NOW NOW HOW TO SOLVE IT?"
- 2220 FOR T = 0 TO 750:NEXT T
- 2230 GOSUB 390:GOSUB 330:IF (M > 100) AND ( L > 100) THEN GOSUB 330 ELSE GOTO 1870
- 2240 LOCATE 20,25:PRINT "YOU MISSED THIS LAST ONE, DO YOU THINK YOU'RE READY"
- 2250 LOCATE 21,25:PRINT "FOR LEVEL";(A+1);" AS YET?"
- 2260 FOR T = 0 TO 600:NEXT T
-